package org.jaaksi.customviewdemo

import android.app.Application
import android.os.Handler
import org.jaaksi.customviewdemo.util.LibConfig
import android.os.Looper

import timber.log.Timber

class TheApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        LibConfig.applicationContext = this.applicationContext


        Handler(Looper.getMainLooper()).post {
            //主线程异常拦截
            while (true) {
                try {
                    Looper.loop() //主线程的异常会从这里抛出
                } catch (e: Throwable) {
                    e.printStackTrace()
                }
            }
        }

//        sUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler()
//        //所有线程异常拦截，由于主线程的异常都被我们catch住了，所以下面的代码拦截到的都是子线程的异常
//        //所有线程异常拦截，由于主线程的异常都被我们catch住了，所以下面的代码拦截到的都是子线程的异常
//        Thread.setDefaultUncaughtExceptionHandler { t, e -> }

        if (BuildConfig.DEBUG) {
            Timber.plant(Timber.DebugTree())
        } else {
//            Timber.plant(CrashReportingTree());
        }
    }
}